package cn.zwx.goods.svc.service;

import cn.zwx.goods.svc.domain.bo.AttrBO;
import cn.zwx.goods.svc.domain.entity.AttrEntity;
import cn.zwx.goods.svc.domain.entity.AttrValueEntity;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import java.util.List;

/**
 * @author zhangwenxue
 */
public interface AttrService {
    /**
     * 统计条数
     * @param queryBrandWrapper queryBrandWrapper
     * @return 返回条数
     */
    Integer selectCount(LambdaQueryWrapper<AttrEntity> queryBrandWrapper);

    /**
     * 查询列表
     * @param attrBO attrBO
     * @return 返回列表信息
     */
    List<AttrEntity> selectList(AttrBO attrBO);
    /**
     * 查询属性值
     * @param attrIdList attrIdList
     * @return 返回属性值列表
     */
    List<AttrValueEntity> selectAttrValueList(List<Long> attrIdList);

    /**
     * 新增属性
     * @param attrEntity 属性属性
     */
    void insert(AttrEntity attrEntity);

    /**
     * 新增属性值
     * @param valueEntityList 属性值
     */
    void batchInsertAttrVal(List<AttrValueEntity> valueEntityList);

    /**
     * 根据id查询属性信息
     * @param attrId 属性id
     * @return 返回属性信息
     */
    AttrEntity selectById(Long attrId);

    /**
     * 删除属性值
     * @param attrId 属性id
     */
    void deleteAttrValue(Long attrId);

    /**
     * 删除属性
     * @param attrId 属性id
     */
    void deleteAttrById(Long attrId);
}
